package com.efamily.ewallet.client.expense.service;

import java.util.List;

import com.efamily.ewallet.client.account.bean.AccountBean;
import com.efamily.ewallet.client.expense.bean.ExpenseBean;
import com.efamily.ewallet.client.expense.bean.ExpenseCategoryBean;
import com.efamily.ewallet.client.expense.bean.ExpenseSearchConfig;
import com.extjs.gxt.ui.client.data.PagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("expense")
public interface ExpenseService extends RemoteService {
	PagingLoadResult<ExpenseBean> getExpenses(AccountBean accountBean, ExpenseSearchConfig searchConfig,
			PagingLoadConfig pagingConfig);
	List<ExpenseCategoryBean> getCategories(AccountBean accountBean);
	boolean addEditExpense(AccountBean accountBean, ExpenseBean expense);
	boolean deleteExpenses(AccountBean accountBean, List<Integer> expensesID);
}
